\documentclass{standalone}
\usepackage{tikz}
\usepackage{ctex,siunitx}
\setCJKmainfont{Noto Serif CJK SC}
\usepackage{tkz-euclide}
\usepackage{amsmath}
\usetikzlibrary{patterns, calc}
\usetikzlibrary {decorations.pathmorphing, decorations.pathreplacing, decorations.shapes,}
\begin{document}
\small
\begin{tikzpicture}[>=stealth,scale=1.0]
  % \useasboundingbox(-2,-2.2)rectangle(2,1.5);
  \foreach \x in {1,2,3,4,5,6}
  {
    \foreach \y in {-1,0,1}
    {
      \fill[inner color=white, outer color= red!30](0.5*\x-0.25,0.5*\y)circle(3pt)node{\tiny$+$};
      \fill[inner color=white, outer color= blue!30](-0.5*\x+0.25,0.5*\y)circle(3pt)node{\tiny$-$};
    }
  }
  \foreach \x in {3,4,5,6}
  {
    \foreach \y in {-1,0,1}
    {
      \fill([shift=(rand*360:4.5pt)]0.5*\x-0.25,0.5*\y)circle(1pt);
      \draw([shift=(rand*360:4.5pt)]-0.5*\x+0.25,0.5*\y)circle(1pt);
    }
  }
  \draw(-3,-0.75)rectangle(3,0.75)(0,-0.75)--(0,0.75);
  \node at (-2.0,1){P 区};
  \node at (2.0,1){N 区};
  \draw[thin,densely dashed](-1.0,1.3)--(-1.0,-1.3)(1.0,1.3)--(1.0,-1.3);
  \draw[<->](-1.0,1.0)--(1.0,1.0)node[midway,above]{阻挡层};
  \draw[->](0.5,-1.3)--(-0.5,-1.3)node[midway,above]{$E$};
  \node at (0,-1.6){阻挡层电场方向};
  \end{tikzpicture}
\end{document}